-
Notifications
You must be signed in to change notification settings - Fork 13.4k
rustdoc JSON: Don't apply #[repr]
privacy heuristics
#141126
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
These commits modify Please ensure that if you've changed the output:
cc @aDotInTheVoid, @obi1kenobi rustdoc-json-types is a public (although nightly-only) API. If possible, consider changing |
This comment was marked as resolved.
This comment was marked as resolved.
r=me with merge-confixed fixed |
d578819
to
98bd1a6
Compare
@bors r=aDotInTheVoid rollup |
…InTheVoid rustdoc JSON: Don't apply `#[repr]` privacy heuristics Split out from rust-lang#116882. Context: rust-lang#116882 (comment). Partially reverts rust-lang#138018. cc `@obi1kenobi` r? aDotInTheVoid or rustdoc
…iaskrgr Rollup of 8 pull requests Successful merges: - rust-lang#136400 (Improve handling of rustdoc lints when used with raw doc fragments.) - rust-lang#140967 (Async drop poll shim for error dropee generates noop body) - rust-lang#141019 (Update std doctests for android) - rust-lang#141062 (Update IDEs to use rustfmt 2024, fix Zed settings) - rust-lang#141109 (discuss deadlocks in the std::io::pipe() example) - rust-lang#141126 (rustdoc JSON: Don't apply `#[repr]` privacy heuristics) - rust-lang#141376 (Rename `kw::Empty` as `sym::empty`.) - rust-lang#141383 (Miri subtree update) r? `@ghost` `@rustbot` modify labels: rollup
Rollup of 7 pull requests Successful merges: - #136400 (Improve handling of rustdoc lints when used with raw doc fragments.) - #140967 (Async drop poll shim for error dropee generates noop body) - #141019 (Update std doctests for android) - #141109 (discuss deadlocks in the std::io::pipe() example) - #141126 (rustdoc JSON: Don't apply `#[repr]` privacy heuristics) - #141376 (Rename `kw::Empty` as `sym::empty`.) - #141383 (Miri subtree update) r? `@ghost` `@rustbot` modify labels: rollup
let render_transparent = is_json | ||
|| cache.document_private |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for this!
If we felt like making this part of the cargo-semver-checks experience super nice, including the layout info of fields would be lovely:
- It would let us have ABI-related lints like "this pub
repr(C)
type had field X change offset / alignment / size." These would be part of our ABI lint group, which isn't quite SemVer but people e.g. working on embedded systems have found useful nonetheless. - It would allow us to check the 1-ZST portion of the "is
repr(transparent)
public API" logic, which we can otherwise only approximate as "some field ispub
so we'll assume it's the non-1-ZST one." That heuristic is generally fine in practice AFAICT, but doing better is always good :)
None of this is an emergency of course. Just wanted to give you info on what else in this general area would be useful info to have.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Could you put this in an issue (or on zulip)? I think it’ll be forgotten here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'll leave a reminder for myself when I get back home. I'll likely be ~offline until Thursday or so due to travel, so that's the earliest I'd be able to open one — it's 11pm here at the moment and I'm going to bed now.
If someone else were to open an issue for this in the meantime, I wouldn't be upset at all. No pressure of course, just proactively opting in.
Split out from #116882.
Context: #116882 (comment).
Partially reverts #138018.
cc @obi1kenobi
r? aDotInTheVoid or rustdoc